#pragma once

#include "fxcc/core/MetaCache.h"

struct TextureMetaCache
{
	std::vector<MetaMapIndex> m_Texture2Ds;
	std::vector<MetaMapIndex> m_Texture2DArrays;
	std::vector<MetaMapIndex> m_TextureCubes;
	std::vector<MetaMapIndex> m_TextureCubeArrays;
	std::vector<MetaMapIndex> m_Texture3Ds;

	// Pbr IBL Maps
	std::vector<MetaMapIndex> m_PrefilterMaps;
	std::vector<MetaMapIndex> m_IrradianceMaps;
	std::vector<MetaMapIndex> m_BRDF_LUT_Maps;


};

struct TextureMetaCacheFile
{
	std::map<std::string, TextureMetaCache> m_TextureMetaCaches;
};
